package com.stylefeng.guns.modular.domain_manage.service;

import com.stylefeng.guns.modular.domain_manage.model.DomainInfo;
import com.baomidou.mybatisplus.service.IService;

import java.util.List;


/**
 * <p>
 * 域名信息表 服务类
 * </p>
 *
 * @author GodRui
 * @since 2020-06-29
 */
public interface IDomainInfoService extends IService<DomainInfo> {

    /*
    *  获取所有列表按照 在用-备用-失效排序
    * */
    List<DomainInfo> getDomainOrderByStatus();

    /**
     *  获取一个可用域名，并维持在用域名数量
     * */
    DomainInfo getOneAvailDomain();

    /*
    *  获取在用域名
    * */
    List<DomainInfo> getInUseDomain();

    /**
     *  获取备用域名
     * */
    List<DomainInfo> getReadyDomains(Integer size);

    /**
     *  更新域名
     * */
    void updateDomainWithEntity(DomainInfo domainInfo);

    /**
     *  创建域名
     * */
    void createNewDomain(DomainInfo domainInfo);

}
